package org.christopher.mybatisplusdemo.common;


import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor    //全参数的构造方法
public class JsonData {
    private int code;      //返回编码 0为成功，1为处理中 ，-1为失败
    private Object data;   //我们返回的数据
    private String msg;    //我们返回的信息


    /**
     * 不传递参数，直接状态码返回0，代表成功
     * @return
     */
    public static JsonData success(){
        return new JsonData(0,null,null);
    }



    /**
     * 直接初始化数据，默认返回状态码为0，表示成功
     * @param data
     * @return
     */
    public static JsonData success(Object data){
       return new JsonData(0,data,null);
    }

    /**
     * 失败，传入描述信息
     * @param msg
     * @return
     */
    public static JsonData buildError(String msg) {
        return new JsonData(-1, null, msg);
    }

    /**
     * 失败，传入描述信息,状态码
     * @param msg
     * @param code
     * @return
     */
    public static JsonData buildError(String msg, Integer code) {
        return new JsonData(code, null, msg);
    }
}
